Make WAYPT_SET act more like a function after macro expansion.
authorRobert Lipe <robertlipe@gpsbabel.org>
Mon, 9 Dec 2019 01:37:32 +0000 (19:37 -0600)
committerRobert Lipe <robertlipe@gpsbabel.org>
Mon, 9 Dec 2019 01:37:32 +0000 (19:37 -0600)
alan.cc
defs.h
gpx.cc
lowranceusr.cc
nmea.cc

diff --git a/alan.cc b/alan.cc
index 8befabee0398b98ce58b8d19843251a0ce32f567..7e1da88a901794f20e3ab84975aeebb58b691e41 100644 (file)
--- a/alan.cc
+++ b/alan.cc
@@ -617,7 +617,7 @@ static void trl_read()
       WP->longitude =  pt2deg(trklog->pt[j].x);
       WP->altitude  =  hgt2m(trklog->sh[j].height);
       if (trklog->sh[j].speed >= 0)
-        WAYPT_SET(WP, speed, sp2mps(trklog->sh[j].speed))
+        WAYPT_SET(WP, speed, sp2mps(trklog->sh[j].speed));
         else {                 /* bad speed < 0 - set to 0.0 */
           WAYPT_UNSET(WP, speed);
         }
diff --git a/defs.h b/defs.h
index e44d4ed41e75fdeb34319ac8b4202aae5c23f077..424b360e7bebdca7143015cb74d218aa114686c2 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -453,7 +453,7 @@ struct bounds {
   double min_alt;      /* -unknown_alt => invalid */
 };
 
-#define WAYPT_SET(wpt,member,val) { (wpt)->member = (val); wpt->wpt_flags.member = 1; }
+#define WAYPT_SET(wpt,member,val) do { (wpt)->member = (val); wpt->wpt_flags.member = 1; } while (0)
 #define WAYPT_GET(wpt,member,def) ((wpt->wpt_flags.member) ? (wpt->member) : (def))
 #define WAYPT_UNSET(wpt,member) wpt->wpt_flags.member = 0
 #define WAYPT_HAS(wpt,member) (wpt->wpt_flags.member)
diff --git a/gpx.cc b/gpx.cc
index f171ab0829fbe34c56d0085c980ae4e5553371cd..77befaddd641b7cdbbdf099e7259e4e9438cb9e3 100644 (file)
--- a/gpx.cc
+++ b/gpx.cc
@@ -1042,7 +1042,7 @@ gpx_end(const QString&)
    */
   case tt_humminbird_wpt_depth:
   case tt_humminbird_trk_trkseg_trkpt_depth:
-    WAYPT_SET(wpt_tmp, depth, cdatastr.toDouble() / 100.0)
+    WAYPT_SET(wpt_tmp, depth, cdatastr.toDouble() / 100.0);
     break;
   /*
    * Route-specific tags.
@@ -1174,7 +1174,7 @@ gpx_end(const QString&)
     wpt_tmp->SetCreationTime(xml_parse_time(cdatastr));
     break;
   case tt_wpttype_geoidheight:
-    WAYPT_SET(wpt_tmp, geoidheight, cdatastr.toDouble())
+    WAYPT_SET(wpt_tmp, geoidheight, cdatastr.toDouble());
     break;
   case tt_wpttype_cmt:
     wpt_tmp->description = cdatastr;
index c5a1f775ebaeaf5534f48c60c804c5b13efb33d2..105fb0a23194b1ba750cc963809da8c4c23a770f 100644 (file)
 #include <QtCore/QTime>          // for QTime
 #include <QtCore/Qt>             // for CaseInsensitive, UTC
 #include <QtCore/QtGlobal>       // for qPrintable, uint, foreach
+#include <src/core/logging.h>
 
 #include "defs.h"
 #include "gbfile.h"              // for gbfgetint32, gbfputint32, gbfputint16, gbfgetc, gbfgetint16, gbfputc, gbfwrite, gbfeof, gbfgetflt, gbfclose, gbfgetdbl, gbfputdbl, gbfile, gbfputflt, gbfread, gbfseek, gbfopen_le
@@ -1129,6 +1130,8 @@ lowranceusr_parse_waypts()
     case 6:
       lowranceusr4_parse_waypt(wpt_tmp);
       break;
+      default:
+        Warning() << MYNAME << ": Unknown internal version " << reading_version;
     }
     waypt_add(wpt_tmp);
   }
diff --git a/nmea.cc b/nmea.cc
index 2fdb7cea038614e2bd5bbc6bbedc50b7b31f9c5a..ca6426ed2724edec52356c81e9f1f24f2d6d2039 100644 (file)
--- a/nmea.cc
+++ b/nmea.cc
@@ -774,7 +774,7 @@ gpvtg_parse(char* ibuf)
   if (curr_waypt) {
     WAYPT_SET(curr_waypt, course, course);
     if (speed_k > 0) {
-      WAYPT_SET(curr_waypt, speed, KPH_TO_MPS(speed_k))
+      WAYPT_SET(curr_waypt, speed, KPH_TO_MPS(speed_k));
     } else {
       WAYPT_SET(curr_waypt, speed, KNOTS_TO_MPS(speed_n));
     }